/* A data table presents any data in a regular table */
.dataTable {
	border-style:solid;
	border-color:#d6d7d9;
	border-width:2px 0;
    font-size: 11px;
    margin: 0;
    width: 100%;
    text-decoration: none;
    text-align: center;
}

/* The caption */
.dataTable caption {
	margin: 0;
	text-align: left;
	font-weight: normal;
	font-size: 11px;
	padding:0.7ex 0.8ex 0.8ex 0.8ex;
	background-color:#f7f7f7;
	border-top:1px solid #cacaca;
	min-height:20px;
}

caption em {
	font-weight: bold;
	font-style: normal;
}

/* The table header */
.dataTable thead {
    font-size: 11px;
    height:15px;
}

.dataTable th {
	border-top:1px solid white;
	border-right: solid 1px #828282;
	border-bottom: solid 2px #cccccc;
	border-left:1px solid white;
    background-color: #f0f0f0;
	vertical-align:center;
	padding:3px 5px;
	height:100%;
	text-align:left;
}

.dataTable th.longTitle {
	cursor:help;
}

.dataTable th.check {
	padding-left:2px;
	padding-right:0;
	width:24px;
}

/* The table body */
.dataTable tr td {
	border-width:0 0 0 0;
	/* border-width:1px 0 0 0; */
	border-style:solid;
	border-color:white;
}

table.tree tbody tr td {
	border-color:#d6d7d9;
}

table.tree tr.firstRow td {
	border-color:white;
}

.dataTable tr.selected td {
	background-color:#f8ece0;
}

table.tree tbody tr.selected td.nosel, table.tree tbody tr.after-selected td.nosel {
	border-color:#d6d7d9;
}

table.tree tbody tr.firstRow td.nosel {
	border-color:white;
}

.dataTable tr.selected td.nosel {
	background-color:transparent;
}

.dataTable tbody tr.selected td, .dataTable tbody tr.after-selected td {
	/*after-selected is the style to add to the row that is just after the selected one*/
	border-color:#fa9c00;
}

.dataTable td {
    border:0;
    padding:3px 5px;
    text-align:left;
}

.dataTable td p {
	margin:0;
}

.dataTable td.check {
	padding-left:3px;
	padding-right:0;
}

.dataTable .odd td, .dataTable .even td {
	color:black;
	text-decoration: normal;
}

.dataTable .odd {
    background-color: white;
    padding: 2px;
}

.dataTable .even {
    background-color: #efefef;
    padding: 2px;
}

/* Links in a data table */
.dataTable td a {
	color:inherit;
	text-decoration: inherit;
	border:0;
	-moz-outline:0;
	outline:0;
}

/* The rows for which actions are available */
.dataTable.actionsOnRows td.nospace {
	padding:0;
}

.dataTable.actionsOnRows td a {
	cursor:pointer;
	display:block;
	padding:3px 5px;
	width:99%;
}

.dataTable a.rowHover {
    color: #ff6600;
    text-decoration: underline;
}

/* The sub total row */
.dataTable tbody tr.sub-total {
	margin:0;
	padding:0;
	border-color:#d6d7d9;
	border-style:solid;
	border-width:0 0 1px 0;
}

.dataTable tbody tr.sub-total td {
	vertical-align:top;
	border-color:white;
	border-style:solid;
	border-width:3px 0 3px 0;
	margin:0;
	padding:3px 5px;
	font-weight:bold;
	font-size:11px;
	text-align:left;
	background-color:#efefef;
}

.dataTable tbody tr.root td{
	border-top:1px solid #d6d7d9;
}

.dataTable tbody tr.root td.root{
	border-bottom:0;
}

.dataTable tbody tr.root.firstRoot td{
	border-top-width:0;
}

/* The footer */
.dataTable tfoot tr {
}

.dataTable tfoot tr.head td {
	font-size:0px;
	height:0px;
	padding:0;
	margin:0;
	background-color:white;
	border-top:2px solid #d6d7d9;
	border-bottom:0;
}

.dataTable tfoot td {
	border-color:white;
	border-style:solid;
	border-width:3px 0 3px 0;
	vertical-align:top;
	font-weight:bold;
	font-size:11px;
	text-align:left;
	background-color:#f8ecde;
	padding:4px 5px;
}

.dataTable tfoot td.row-title.alone {
	text-align:right;
}